package com.ruoyi.erp.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.erp.mapper.ErpFixedFeeMapper;
import com.ruoyi.erp.domain.ErpFixedFee;
import com.ruoyi.erp.service.IErpFixedFeeService;

/**
 * 固定费用支出Service业务层处理
 *
 * @author yanwenliang
 * @date 2024-12-30
 */
@Service
public class ErpFixedFeeServiceImpl extends ServiceImpl<ErpFixedFeeMapper, ErpFixedFee> implements IErpFixedFeeService
{
    @Autowired
    private ErpFixedFeeMapper erpFixedFeeMapper;

    /**
     * 查询固定费用支出
     *
     * @param fixedFeeId 固定费用支出主键
     * @return 固定费用支出
     */
    @Override
    public ErpFixedFee selectErpFixedFeeByFixedFeeId(String fixedFeeId)
    {
        return erpFixedFeeMapper.selectErpFixedFeeByFixedFeeId(fixedFeeId);
    }

    /**
     * 查询固定费用支出列表
     *
     * @param erpFixedFee 固定费用支出
     * @return 固定费用支出
     */
    @Override
    public List<ErpFixedFee> selectErpFixedFeeList(ErpFixedFee erpFixedFee)
    {
        return erpFixedFeeMapper.selectErpFixedFeeList(erpFixedFee);
    }

    /**
     * 新增固定费用支出
     *
     * @param erpFixedFee 固定费用支出
     * @return 结果
     */
    @Override
    public int insertErpFixedFee(ErpFixedFee erpFixedFee) {
        erpFixedFee.setCreateTime(DateUtils.getNowDate());
        erpFixedFee.setCreateBy(SecurityUtils.getUsername());
        erpFixedFee.setFixedFeeId(IdWorker.getIdStr());
        erpFixedFee.setUserId(SecurityUtils.getUserId());
        return erpFixedFeeMapper.insertErpFixedFee(erpFixedFee);
    }

    /**
     * 修改固定费用支出
     *
     * @param erpFixedFee 固定费用支出
     * @return 结果
     */
    @Override
    public int updateErpFixedFee(ErpFixedFee erpFixedFee) {
        erpFixedFee.setUpdateTime(DateUtils.getNowDate());
        erpFixedFee.setUpdateBy(SecurityUtils.getUsername());
        return erpFixedFeeMapper.updateErpFixedFee(erpFixedFee);
    }

    /**
     * 批量删除固定费用支出
     *
     * @param fixedFeeIds 需要删除的固定费用支出主键
     * @return 结果
     */
    @Override
    public int deleteErpFixedFeeByFixedFeeIds(String[] fixedFeeIds)
    {
        return erpFixedFeeMapper.deleteErpFixedFeeByFixedFeeIds(fixedFeeIds);
    }

    /**
     * 删除固定费用支出信息
     *
     * @param fixedFeeId 固定费用支出主键
     * @return 结果
     */
    @Override
    public int deleteErpFixedFeeByFixedFeeId(String fixedFeeId)
    {
        return erpFixedFeeMapper.deleteErpFixedFeeByFixedFeeId(fixedFeeId);
    }
}
